マルチブートの仕方(Windows初級編)
デュアルブート環境をつくるには、Windows9xの後にWindows 2000をインストールする必要があると申し上げましたが、逆では無理なのでしょうか? 基本的に無理ではありません。ただWindows95の場合は、Windows2000のブートセクターを知らないので(後から開発されたから)、自分をインストールするときにWindows9x用のブートセクターに書き換えたまま、Windows2000のインストーラのように元のブートセクターをファイルに退避するなどということはしません。ちょうど先程説明した「sysコマンド」を実行したのと同じ状態になります。
もっともこのようにブートセクターを書き換えられてしまった場合でも、修復する方法がいくつかあります。まずその内の最もオーソドックスな方法として、Windows2000の修復セットアップの「ブートセクターの検査」という手段があります。具体的には以下の手順です。
以上で、修復は完了です。かなり手続きが面倒ですが、これは結局、「sysコマンド」の逆を行うことになります。Windows2000の場合は、「ブートセクターの検査」のほかに、回復コンソールの「fixboot」というコマンドでもブートセクターの修復が可能です。
上記3番で、「C」で「回復コンソール」を選択できますから、こちらに進みます。
C:\WINNT> fixboot |
ブートセクターの修復だけなら、こちらの方がちょっと速いかもしれません。
また別のツールを使いますが、もう少し簡単な方法もあります。 BootPartというユーティリティを使う方法です。http://www.winimage.com/bootpart.htmから入手可能なフリーソフトで、見た目DOSコマンドのようですが、れっきとしたWin32コンソールアプリケーションです。WindowsNT/2000のブートセクターの修復の他、様々なことが可能な便利なユーティリティで、DOS上(起動ディスク、またはWindows9xのCommand Prompt Only)、またはWindowsNT/2000上で動作します。(Windows9xのMS-DOSプロンプトでは動作しません)
WindowsNT/2000のブートセクターの修復は、WindowsNT/2000が起動しない状態で行うでしょうから、Windows9xの起動ディスクで起動するか、Windows9xの起動時にShift-F5、またはF8で起動メニューを出して、「Command Prompt Only」で起動して、以下のように実行します。
[BOOTPARTユーティリティによるブートセクターの修復]
C:\> bootpart winnt boot:c: |
これだけで修復完了です。先の2つの方法より、簡単だと思います。BootPartコマンドは、便利なユーティリティなので、NTLDRを使ったデュアルブートを行っているなら、一つ持っていて損のないものですから、入手しておきましょう。BootPartコマンドの詳しいことは「BootPartユーティリティの使い方」にまとめてありますから、もっと詳しく知りたい方はご参照下さい。
ところで、Windows98の場合は、NTとのデュアル環境を知っているので、インストール時にその環境になっている場合はブートセクターを書き換えません。この場合は基本的にはちゃんとNTLDRによるデュアルブート環境を維持することができます。しかしどうもうまくいかない場合も多いようです。理由はわかりません。しかしこの場合でもWindows95の時と同じように修復できます。
もっともパーティション構成によってはWindows NTの後にWindows9xをインストールするのは難しい場合があります。たとえば既にCドライブがNTFSになっているような場合です。この場合は基本的には、別の基本領域にWindows9xをインストールして、アクティブ切り替え機能のあるブートローダを使う必要があります。このあたりの詳細は、「機能編」以降を参照して下さい。いずれにしても基本は、Windows9xの後にWindows NTをインストールするというのは問題のないデュアルブート環境構築の順序です。
Windows2000の後に、Windows9xをインストールした場合でも、通常は前述のように簡単に修復できることは分かったと思います。しかしWindows9xのインストール時に Cドライブをフォーマットしてしまった場合、話は少しややこしくなります。
実際、インストール時にフォーマットすることは多いと思いますし、リカバリCD-ROMからのインストールの場合、勝手にフォーマットされてしまうことも多いでしょう。ここではそういう場合のデュアルブート環境の修復について説明します。
ところで、フォーマットしてしまうと、そうでない場合に比べ、なぜ話が少し面倒になるのでしょうか。それは、Cドライブに存在すべきファイルがなくなってしまうからです。前段落までは、ブートセクターがDOS-IPLのものになるだけでした。従って、修復するのはブートセクターだけで良かった訳ですが、Cドライブをフォーマットしてしまった場合は、以下のCドライブに存在すべき、ファイルも復元しなければなりません。
[Cドライブに必要なWindows2000系のファイル]
NTLDR boot.ini bootfont.bin ntdetect.com |
この中で、NTLDR、bootfont.bin、及びntdetect.comは実行ファイルですべての環境で共通ですが、boot.iniだけは、あなたの環境特有のものです(大抵は多くの人が同じような内容だとは思いますが)。従って簡単に修復することはできません。
ただし、もしあなたが「修復ディスク」を予め作っていたら、ことは格段に簡単になります。この修復ディスクには、boot.iniに書かれる情報が記録されているからです。では修復ディスクがない場合は、どうするのでしょうか?
ちょっと脅したようになりましたが、実はそんなに深刻になる必要はありません。幸いboot.iniファイルはテキストファイルなので、起動するWindows9x上で、Cドライブの直下に自分でメモ帳などを使って作ればいいのです。
作り方は、このページと、「Boot.iniの記述」を参考にしてください。決して難しいものではありません。繰り返しになりますが、「修復ディスク」がある場合は、自分でboot.iniファイルを作る必要はありません。これからお話する修復プロセスで自動的にboot.iniファイルが作成されます。
非常に重要なので、また後でも説明しますが、このBoot.iniの作成は、修復ディスク無しで修復セットアップを実行するのに必須のアイテムです。修復ディスク無しで修復セットアップをする場合、OSの「自動検出」をさせますが、これは実は単にboot.iniを見ているだけなのです。決してハードディスクを総なめして、WINNTディレクトリを探してくる訳ではありません。ですからboot.iniを正しく記述しないと検出が成功せず、修復セットアップを完遂できません。
boot.iniファイルを作成したら、早速修復にかかりましょう。ここでは、boot.iniファイルを自分で作った場合と、修復ディスクがある場合の両方の説明をします。手続き的には殆ど同じなので。また前段落のフォーマットしていない場合の修復とも殆ど同じです。違いがどこにあるか、気をつけて読んでください。
基本的にこれで修復は完了です。サービスパックを既に適用済みの人は、当てなおしてください。
なお、先に紹介したBootPartユーティリティでは、この場合は修復出来ませんので、上記方法を実施してください。